엘리먼트와 컴포넌트의 차이
#resource
#react
작성일:2025. 4. 20.
수정일:2025. 4. 20.
엘리먼트(Element)#
엘리먼트는 UI를 구성하는 가장 작은 단위로, 화면에 표시하려는 것을 기술한다.
- 정의: 화면에 표시되는 실제 DOM 노드나 React와 같은 프레임워크에서는 가상 DOM 노드를 의미한다.
- 특성: 엘리먼트는 일반적으로 불변(immutable)이다. 즉, 생성된 후에는 자식이나 속성을 변경할 수 없다.
- React에서의 예시:
React.createElement()
함수로 생성 되거나 JSX를 통해 선언적으로 작성된다.
컴포넌트(Component)#
컴포넌트는 재사용 가능한 독립적인 모듈로, UI의 일부를 구성한다.
- 정의: 엘리먼트들의 집합을 캡슐화하여 재사용 가능한 단위로 만든 것이다.
- 특성:
- 자체상태(state)와 라이프사이클을 가질 수 있다.
- props를 통해 데이터를 전달받아 처리할 수 있다.
- 재사용성과 모듈화를 위해 설계된다.
- React에서의 예시:
JavaScriptjs
핵심 차이점#
-
추상화 수준:
- 엘리먼트: 낮은 수준의 추상화로, UI의 실제 표현을 정의한다.
- 컴포넌트: 높은 수준의 추상화로, 엘리먼트들을 조합하여 기능적 단위를 형성한다.
-
재사용성:
- 엘리먼트: 단일 인스턴스로, 그 자체로는 재사용하기 어렵다.
- 컴포넌트: 재사용을 목적으로 설계되어 다양한 상황에서 활용 가능하다.
-
동작 방식:
- 엘리먼트: 단순히 화면에 표시라 것을 기술하는 객체이다.
- 컴포넌트: 로직과 상태를 포함하여 동적으로 엘리먼트를 생성하고 조작한다.
-
생명주기:
- 엘리먼트: 생명주기가 없으며, 단순히 렌더링 결과물의 스냅샷이다.
- 컴포넌트: 마운트, 업데이트, 언마운트 등의 생명주기를 가진다.